# -*- coding: utf-8 -*-
from django import forms
from lr.work.models import Genre, Work


class WorkRenameForm(forms.Form):
    """ Форма смены названия произведения """
    genre = forms.ModelChoiceField(queryset=Genre.objects.all(), empty_label=u'Не определен', required=False, label=u'Жанр')
    new_title = forms.CharField(max_length=127, widget=forms.TextInput, label=u'Новое название произведения')




class WorkPublishForm(forms.Form):
    """ Форма публикации произведения """
    annotation = forms.CharField(widget=forms.Textarea(attrs={'cols': '40', 'rows': '4'}), required=False, label=u'Краткая аннотация')
    price = forms.CharField(max_length=8, widget=forms.TextInput, required=False, label=u'Стоимость прав на произведение')
    view_price = forms.CharField(max_length=8, widget=forms.TextInput, required=False, label=u'Стоимость просмотра произведения')
    pub_type = forms.ChoiceField(widget=forms.RadioSelect, choices=Work.WORK_STATUS_PUB, initial=u'opened', label=u'Тип публикации')
    
    
    def clean_view_price(self):
        """ Проверка на выполнение условий закрытой публикации """
        if self.data['pub_type'] == u'closed':
            try:
                view_price = float(self.cleaned_data['view_price'].replace(u',', u'.'))
            except ValueError:
                view_price = 0.0
            if view_price < 0.01:
                raise forms.ValidationError(u'Для закрытой публикации не допускается значение этого поля меньше 0.01')
        return self.cleaned_data
    